home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UNIXTOOL / MEMACS / ReadMeArc < prev    next >
Text File  |  1992-06-29  |  9KB  |  195 lines

  1. This is the upgrade of Archimedes Emacs to release 3.11 (beta).
  2.  
  3. Please read file Copyright for conditions of use, distribution
  4. details, etc. This program is FREEWARE - it may be freely
  5. distributed provided that the conditions in the Copyright file
  6. are adhered to.
  7.  
  8. This port was implemented by Paul Moore, pmoore@cix.compulink.co.uk
  9.  
  10. Thanks go to the original author(s) of MicroEMACS, for writing the
  11. program in such a manner as to make porting a simple, and positively
  12. pleasant, task!
  13.  
  14. Note: Documentation has not been included, as the Emacs 3.11 (beta)
  15.       documentation is not fully complete yet. The same applies to the
  16.       command files. Either the 3.10e or the 3.11 (beta) files as
  17.       distributed are the best that is available yet.
  18.  
  19. Outstanding Issues
  20. ==================
  21.  
  22. 1. In order to allow the use (or redefinition) of any combination of
  23.    keypresses, the program claims the keypress event and the keyboard
  24.    buffer insert vector, to trap all key depressions, and return unique
  25.    codes. The program will handle the ALT key, allowing the use of ALT-key
  26.    combinations within EMACS, provided the InternationalKeyboard module is
  27.    killed. This is because InternationalKeyboard installs itself as a
  28.    keyboard handler, and intercepts all keypresses before anything else
  29.    can get at them (even before the "key pressed" event!). It is your
  30.    choice - if you want to use InternationalKeyboard, Emacs will work
  31.    perfectly well, just without the ALT-key combinations. If you kill
  32.    InternationalKeyboard, you can use ALT-keys, but you cannot use the ALT
  33.    functions provided by the international module. (I, personally, now
  34.    have the international module permanently unplugged in my machine...)
  35.  
  36.    At present, there are still odd occasions when the handler gets
  37.    confused, particularly about the state of the shift, control and ALT
  38.    keys. This is (probably) because the event handler is switched off
  39.    when OS commands are being run, and during this period Emacs cannot
  40.    keep track of the key status. This problem may be impossible to fully
  41.    solve. For now, if this occurs, try running an OS command (^XC, then
  42.    Cat, for instance) to allow Emacs to "un-confuse" itself... If this
  43.    fails, save your work and quit, and then restart. I realise that this
  44.    is not wonderful, but the problem is rare and intermittent, and so
  45.    very difficult to track down.
  46.  
  47.    A similar problem arises if you press two keys in very quick
  48.    succession (notably, delete then a letter key). Sometimes, the first
  49.    key is acted on twice, and the second key ignored. Again, this is a
  50.    known bug, and will be solved as soon as I can work out what the
  51.    problem is!
  52.  
  53. 2. The use of colours. At present, I set the palette on start-up to
  54.    correspond (roughly) to the standard EMACS colours. In particular, the
  55.    standard set of colours (0-7) are black, red, blue, etc. to GREY, with
  56.    colours 8-15 being gray ("light black"), light red, light blue, to
  57.    white. Playing with the palette like this is not ideal, as I do not
  58.    reset it later. So I may change this. But I would like to keep
  59.    compatible, so that colour LBLUE (for instance) actually meant
  60.    something. Maybe I'll add a couple of new environment variables, $fgcol
  61.    and $bgcol, which give access to the full colour range (for 256-colour
  62.    modes, for instance). On that note, $palette is not yet implemented.
  63.    It's not at all difficult, I'm just lazy... (besides, if I waited until
  64.    everything was done, this would never get released).
  65.  
  66. 3. I haven't yet checked all the supplied command files. EmacsRC works
  67.    (mostly), but there are definitely still problems in some of the
  68.    others. Comments/fixes most appreciated.
  69.  
  70. 4. There are some key-combinations available on the Arc, which do not
  71.    fit the standard key names. For example, in addition to TAB and
  72.    SHIFT-TAB, we have CONTROL-TAB, etc. At present I have
  73.  
  74.     In all cases
  75.  
  76.     F0 (PRINT)        FN`
  77.     F11            FN-
  78.     F12            FN=
  79.  
  80.     And the following    Without CONTROL        With CONTROL
  81.  
  82.     TAB            ^I            FN^T    ("Tab")
  83.     BS            ^H            FN^L    ("Left")
  84.  
  85.    As usual, these can have Alt (A-), Shift (S-), or Control (^) added,
  86.    although the second group have different codes when used with CONTROL
  87.    compared to when used without CONTROL.
  88.  
  89.    To get the code for any keypress, you can simply type ^X ? followed
  90.    by the key combination. This gives you the key code, and the current
  91.    binding.
  92.  
  93.    Further specials:
  94.  
  95.     DELETE        ^?        when used alone
  96.             FND        otherwise
  97.  
  98.     RETURN        ^M        when used alone
  99.             ^J        when used with SHIFT only
  100.             FNR        in any other combination
  101.  
  102.     ENTER        ^M        when used alone
  103.             ^J        when used with SHIFT only
  104.             FNE        in any other combination
  105.  
  106.    In particular, note that SHIFT-RETURN is ^J (newline-and-indent),
  107.    which retains the current indentation level. This is probably helpful
  108.    when typing in indented text (tables, prorgams when not in CMODE,
  109.    etc).
  110.  
  111. 6. The previous (David Pilling) version of MicroEMACS allowed you to use
  112.    Shift-RETURN to produce a ^M character. This was useful for stripping
  113.    CRs from MS-DOS files, among other uses. This is not yet implemented,
  114.    mainly because I haven't worked out where to put it in the code! I
  115.    may also add the option (the code is already there, in part) to strip
  116.    CRs when a file is read in. At the moment it's a compile time option
  117.    - I'd just need to make it selectable at run-time. As of version
  118.    3.11 (beta), the $lterm variable caters for this. Note: I have
  119.    altered the code which reads a file in, so that $lterm is used both
  120.    for reading and writing. So, to read MS-DOS files, you can do
  121.    "M-X set $lterm ^Q^M^Q^J" (ie CR/LF), then read the file, then "M-X
  122.    set $lterm ^Q^J", to restore the default. Note that the file is not
  123.    flagged as changed simply by setting $lterm. If you want to write the
  124.    converted version, you must first modify the file (eg, insert a
  125.    character, and then delete it again).
  126.  
  127. 7. THE FOLLOWING PARAGRAPH IS CURRENTLY UNTRUE. KEYPAD KEYS ACT AS
  128.    NORMAL NUMERIC KEYS. I have left the following here to remind me to
  129.    have another think about this one...
  130.  
  131.    At present, the keypad keys are handled a bit strangely. What I
  132.    wanted to do, is to allow numeric arguments (such as "ESC-12") to be
  133.    typed directly (as "12" on the keypad). So the numeric keypad 0-9
  134.    currently act as ESC-0 to ESC-9. Unfortunately, the code to gather a
  135.    numeric argument grabs a SEQUENCE of digits after an ESC, and the
  136.    keypad method looks like ESC-1-ESC-2 instead of ESC-1-2. This will be
  137.    fixed, but it's going to require some messing about, which I haven't
  138.    had time to do yet.
  139.  
  140. 8. Mouse support. Standard EMACS-style support should be fairly easy. A
  141.    full WIMP interface is probably significantly harder, but may be
  142.    possible.
  143.  
  144.  
  145. Implementation-specific Details
  146. ===============================
  147.  
  148. 1. The environment variable $sres holds the current screen mode. It is
  149.    read-write, so you can change mode within EMACS. All modes are
  150.    supported, including new user-defined modes. Don't expect miracles
  151.    from mode 7, though!
  152.  
  153. 2. The environment variable $cftype holds the file type of the file in
  154.    the current buffer. This is set when the file is read in (default is
  155.    TEXT, for new files), and is used to set the file type on exit. Thus,
  156.    MicroEMACS maintains file types for such things as Obey files.
  157.    $cftype can be set as for any other variable. Suitable values are as
  158.    for *SetType (eg, FFF, Text, Obey, 2_0000100, etc). It can also be
  159.    read, but the value is in decimal, and hence not as readable as it
  160.    might be. I may fix this, if I can figure a way which doesn't break
  161.    anything...
  162.  
  163. 3. MicroEMACS looks for command files, the EmacsRC file, and the help
  164.    file, in the places set up in the source file H.Epath, with the names
  165.    defined in H.Estruct. As the comments state, the current values are
  166.    fairly provisional. At present, we have
  167.  
  168.     Startup file        EmacsRC
  169.     Help file        EmacsHLP
  170.     Log file        EmacsLOG
  171.     C error parser        Error
  172.  
  173.    Files are searched for in
  174.  
  175.     Current directory
  176.     Lib:Emacs.
  177.     Emacs:
  178.  
  179.    That is, if the file is not in the current directory, it is searched
  180.    for in a directory "Emacs" somewhere along <Lib$Path>, and if not,
  181.    then the file is looked for along <Emacs$Path>.
  182.  
  183.    Note that EmacsLOG is only used if a compile time option to write all
  184.    commands executed to the log file, is switched on. This is NOT the
  185.    case in the distributed version.
  186.  
  187.    The C error parser is used in conjunction with the -E flag, and at
  188.    present does NOT work with Acorn C. I may change this to work one
  189.    day, as I could sure use help in sorting out my C code!
  190.  
  191.  
  192. I hope you find this program of use.
  193.  
  194. Gustav. (Paul Moore)
  195.